home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cuj9204 / 1004017a < prev    next >
Text File  |  1992-06-02  |  507b  |  25 lines

  1. #include <stdlib.h>
  2. #include <string.h>
  3.  
  4. typedef enum {FLOAT, INTEGER} Code;
  5. typedef struct {
  6.     char *s;
  7.     Code code;
  8.     } Entry;
  9. Entry symtab[] = {
  10.     {"float", FLOAT},
  11.     {"integer", INTEGER}}
  12.  
  13. static int cmp(const void *ck, const void *ce)
  14.     {    /* compare key to table element */
  15.     return (strcmp((const char *)ck, ((Entry *)ce)->s));
  16.     }
  17.  
  18. Entry *lookup(char *key)
  19.     {    /* lookup key in table */
  20.     return (bsearch(key, symtab,
  21.         sizeof symtab / sizeof symtab[0],
  22.         sizeof symtab[0], &cmp));
  23.     }
  24.  
  25.